﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//namespace ArtMath
//{
//    public class GraphDirectedEdge<T>
//    {
//        GraphNode<T> src, dest;
//        public GraphDirectedEdge(GraphNode<T> src, GraphNode<T> dest)
//        {
//            Source = src;
//            Destination = dest;
//        }
//        public GraphNode<T> Source
//        {
//            get { return src; }
//            set
//            {
//                src?.DepartEdges.Remove(this);
//                src = value;
//                src?.DepartEdges.Add(this);
//            }
//        }
//        public GraphNode<T> Destination
//        {
//            get { return dest; }
//            set
//            {
//                dest?.ArriveEdges.Remove(this);
//                dest = value;
//                dest?.ArriveEdges.Add(this);
//            }
//        }
//        public override string ToString()
//        {
//            return $"<{Source}, {Destination}>";
//        }
//    }
//}
